package com.by.common.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.multipart.support.StandardServletMultipartResolver;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    /**
     * 处理跨域请求
     * @param registry
     */
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")//拦截所有的请求
                .allowCredentials(false)//不允许携带cookie
                .allowedHeaders("*")//允许所有的请求头
                .allowedOrigins("*")//允许来自所有的域名访问
                .allowedMethods("GET","POST","PUT","DELETE","OPTIONS")//允许哪些方法跨域
                .maxAge(36000);//预检缓存时间
    }

    /**
     * 向容器注入 multipartResolver  处理请求的实现类
     * StandardServletMultipartResolver：使用了 Servlet 3.0 标准的上传方式。
     * 向容器中注入 multipartResolver 处理请求的实现类
     *StandardServletMultipartResolver 使用了Servlet3.0标准的上传方式
     * @return
     */
    @Bean
    public StandardServletMultipartResolver multipartResolver(){
        return  new StandardServletMultipartResolver();
    }
}
